package com.tbit.uqbike.object.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 用户资金变动表-用户流水、押金、预存款、礼品卡
 *
 * @TableName usercapitalchange
 */
@TableName(value = "usercapitalchange")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class UserCapitalChange implements Serializable {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Long userCapitalChangeId;
    /**
     * 用户id
     */
    private Integer userId;
    /**
     * 用户手机号
     */
    private String phone;
    /**
     * 用户姓名
     */
    private String username;
    /**
     * 变动区域id
     */
    private Integer accountId;
    /**
     * 品牌id
     */
    private Integer brandId;
    /**
     * 变动前余额
     */
    private Long changeStartMoney;
    /**
     * 变动金额
     */
    private Long changeMoney;
    /**
     * 变动后余额
     */
    private Long changeEndMoney;
    /**
     * 变动类型1：充值，2：消费
     */
    private Integer changeType;
    /**
     * 资金类型1：余额，2：押金，3：礼品卡，4：购卡订单，5：骑行订单直付
     */
    private Integer capitalType;
    /**
     * 业务类型
     * 1：用户充余额
     * 2：用户退余额
     * 3：人工充余额
     * 4：人工扣余额
     * 5：骑行消费余额
     * 6：充值结束订单
     * 7：欠款补交
     * 8：骑行退款
     * 9：用户充押金
     * 10：用户退押金
     * 11：人工充押金
     * 12：人工扣押金
     * 13：充值赠送礼品卡
     * 14：退余额扣除礼品卡
     * 15：礼品卡兑换
     * 16：骑行消费礼品卡
     * 17：人工充礼品卡
     * 18：人工扣礼品卡
     * 19：购买骑行卡
     * 20：骑行卡退款
     * 21：购买免押卡
     * 22：免押卡退款
     * 23：购买会员卡
     * 24：会员卡退款
     * 25：购买优惠券套餐
     * 26：优惠券套餐退款
     */
    private Integer businessType;
    /**
     * 详情（骑行订单号）
     */
    private String details;
    /**
     * 操作人id
     */
    private Integer operatorId;
    /**
     * 操作人手机号码
     */
    private String operatorPhone;
    /**
     * 操作人名称
     */
    private String operatorName;
    /**
     * 业务订单号
     */
    private String businessNO;
    /**
     * 商户订单号
     */
    private String merchantNO;
    /**
     * 变动时间
     */
    private Long changeTime;
    /**
     * 备注
     */
    private String remark;
    /**
     * 原区域id
     */
    private Integer originalAccountId;
}